HTTP_GET_VARS = new Array();
strGET = document.location.search.substr( 1, document.location.search.length);
if (strGET != '') {
	gArr = strGET.split('&');
	for (i = 0; i < gArr.length; ++i) {
		v = '';
		vArr = gArr[i].split('=');
		if (vArr.length > 1) {
			v=vArr[1];
		}
		HTTP_GET_VARS[unescape(vArr[0])] = unescape(v);
	}
}
 
function GET(v) {
	if(!HTTP_GET_VARS[v]){return '---';}
	return HTTP_GET_VARS[v];
}

dice = new Array();
for(i=0;i<6;i++) {
   dice[i] = new Image();
   dice[i].src = "images/dices/" + (i+1) + ".png";
}
dice[6] = new Image();
dice[6].src = "images/dices/dice.gif";


anzahlSpieler = GET('anzahlSpieler');
spieler1 = GET('Spieler1');
spieler2 = GET('Spieler2');
spieler3 = GET('Spieler3');
spieler4 = GET('Spieler4');
farbeSpieler1 = GET('FarbeSpieler1');
farbeSpieler2 = GET('FarbeSpieler2');
farbeSpieler3 = GET('FarbeSpieler3');
farbeSpieler4 = GET('FarbeSpieler4');

chat = "";

gewuerfelt = false;
nochmalwuerfeln = true;
aktiverSpieler = 1;
anzahlGewuerfelt = 0;
wuerfelzahl = 1;
wuerfeltGerade = false;
STOP = false;
gewinner = "";

	/*
	 *	Diese Funktion wird aufgerufen, wenn man auf den Würfel klickt oder wenn man die "w"-Taste drückt
	 *	Sie ruft die wuerfelErgebnis()-Funktion auf und setzt als Würfelbild eine GIF-Animation
	 *
	 */

function wuerfeln() {
	if (nochmalwuerfeln == true && gewuerfelt == false) {
		if(wuerfeltGerade == false) {
			if (STOP == false) {
				wuerfeltGerade = true;
				$("#wuerfelbild").attr("src", eval("dice[6].src"));
				window.setTimeout('wuerfelErgebnis()', 1250);
			} else {
				alert(gewinner + " hat dieses Spiel gewonnen!");
			}
		}
	}
}

	/*
	 *	In folgender Funktion wird der Spieler gewechselt!
	 *
	 */
function switchSpieler() {
	anzahlGewuerfelt = 0;
	gewuerfelt = false;
	nochmalwuerfeln = true;
	if (aktiverSpieler == 1) {
		aktiverSpieler = 2;
		$("#spieler").attr("src", eval("s2.image.src"));
	} else {
		if (aktiverSpieler == 2) {
			if (anzahlSpieler == 2) {
				aktiverSpieler = 1;
				$("#spieler").attr("src", eval("s1.image.src"));
			} else {
				aktiverSpieler = 3;
				$("#spieler").attr("src", eval("s3.image.src"));
			}
		} else {
			if (aktiverSpieler == 3) {
				if (anzahlSpieler == 3) {
					aktiverSpieler = 1;
					$("#spieler").attr("src", eval("s1.image.src"));
				} else {
					aktiverSpieler = 4;
					$("#spieler").attr("src", eval("s4.image.src"));
				}
			} else {
				if (aktiverSpieler == 4) {
					aktiverSpieler = 1;
					$("#spieler").attr("src", eval("s1.image.src"));
				}
			}
		}
	}
}

	/*
	 *	In dieser Funktion wird das Ergebnis des Würfels berechnet und ausgegeben
	 *
	 */

function wuerfelErgebnis() {
	wuerfelzahl = Math.ceil( 6 * Math.random() );
	a = wuerfelzahl - 1;
	$("#wuerfelbild").attr("src", eval("dice["+ a +"].src"));
	gewuerfelt = true;
	wuerfeltGerade = false;
	nochmalwuerfeln = false;
	switch(aktiverSpieler) {
	case 1:
		anzahlGewuerfelt++;
		if (s1.anzahlWuerfe == 3) {
			if (anzahlGewuerfelt == 3 && wuerfelzahl < 6) {
				switchSpieler();
				anzahlGewuerfelt = 0;
			} else {
				if (anzahlGewuerfelt < 3 && wuerfelzahl < 6) {
					gewuerfelt = false;
					nochmalwuerfeln = true;
				}
			}
			if (wuerfelzahl == 6) {
				s1.anzahlWuerfe = 1;
			}
		} else {
			if (wuerfelzahl == 6) {
				nochmalwuerfeln == true;
			}
		}			
		break;
	case 2:
		anzahlGewuerfelt++;
		if (s2.anzahlWuerfe == 3) {
			if (anzahlGewuerfelt == 3 && wuerfelzahl < 6) {
				switchSpieler();
				anzahlGewuerfelt = 0;
			} else {
				if (anzahlGewuerfelt < 3 && wuerfelzahl < 6) {
					gewuerfelt = false;
					nochmalwuerfeln = true;
				}
			}
			if (wuerfelzahl == 6) {
				s2.anzahlWuerfe = 1;
			}
		} else {
			if (wuerfelzahl == 6) {
				nochmalwuerfeln == true;
			}
		}		
		break;
	case 3:
		anzahlGewuerfelt++;
		if (s3.anzahlWuerfe == 3) {
			if (anzahlGewuerfelt == 3 && wuerfelzahl < 6) {
				switchSpieler();
				anzahlGewuerfelt = 0;
			} else {
				if (anzahlGewuerfelt < 3 && wuerfelzahl < 6) {
					gewuerfelt = false;
					nochmalwuerfeln = true;
				}
			}
			if (wuerfelzahl == 6) {
				s3.anzahlWuerfe = 1;
			}
		} else {
			if (wuerfelzahl == 6) {
				nochmalwuerfeln == true;
			}
		}		
		break;
	case 4:
		anzahlGewuerfelt++;
		if (s4.anzahlWuerfe == 3) {
			if (anzahlGewuerfelt == 3 && wuerfelzahl < 6) {
				switchSpieler();
				anzahlGewuerfelt = 0;
			} else {
				if (anzahlGewuerfelt < 3 && wuerfelzahl < 6) {
					gewuerfelt = false;
					nochmalwuerfeln = true;
				}
			}
			if (wuerfelzahl == 6) {
				s4.anzahlWuerfe = 1;
			}
		} else {
			if (wuerfelzahl == 6) {
				nochmalwuerfeln == true;
			}
		}		
		break;
	}
}

s1 = new Spieler(1);
s2 = new Spieler(2);
s3 = new Spieler(3);
s4 = new Spieler(4);

function POSTAusgabe() {
	alert(	"** Anzahl der Spieler: " + anzahlSpieler + "\n" +
			"** Spieler 1: " + spieler1 + " (" + farbeSpieler1 + ")\n" +
			"** Spieler 2: " + spieler2 + " (" + farbeSpieler2 + ")\n" +
			"** Spieler 3: " + spieler3 + " (" + farbeSpieler3 + ")\n" +
			"** Spieler 4: " + spieler4 + " (" + farbeSpieler4 + ")");
}

	/*
	 *	In dieser Funktion werden die Tasteneingaben abgefangen
	 *
	 */

$(window).keydown(function(event){
	//alert(event.keyCode);
	switch (event.keyCode) {
	case 87: // "w"-Taste
		wuerfeln();
	break;
	case 80: // "p"-Taste
		POSTAusgabe();
	break;
	case 75: // "k"-Taste
		answer = prompt ("Geben Sie eine Zahl zwischen 1 und 30 ein\n(diese Zahl ersetzt das Würfeln!):","3");
		answer = parseInt(answer);
		if (answer > 0 && answer < 31) {
			if (answer == 6) {
				switch (aktiverSpieler) {
				case 1:
					s1.anzahlWuerfe = 1;
				break;
				case 2:
					s2.anzahlWuerfe = 1;
				break;
				case 3:
					s3.anzahlWuerfe = 1;
				break;
				case 4:
					s4.anzahlWuerfe = 1;
				break;
				}
			}
			wuerfelzahl = answer;
			gewuerfelt = true;
			nochmalwuerfeln = false;
			chat = chat + "--> Spieler " + aktiverSpieler + " hat gecheatet!\n--> Der Würfel wurde manipuliert!\n--> Es wurde eine " + wuerfelzahl + " gewürfelt!!\n\n";
			$("#chatbox").val(chat);
		}
	break;
	}
});

	/*
	 *	In folgender Funktion werden die Spieler dazu veranlasst die Figuren neu auszurichen, da die Spielfeldgröße 
	 *	geändert wurde
	 *
	 */

function spielfeldGroesse(start) {
	if ($(document).height() >= $(document).width()) {
		doc_breite = parseInt($(document).width(), 10);
		doc_breite = doc_breite - 20;
		$("div.spiel").css("height", doc_breite);
		$("div.spiel").css("width", doc_breite);
	} else {
		doc_hoehe = parseInt($(document).height(), 10);
		doc_hoehe = doc_hoehe - 20;
		$("div.spiel").css("height", doc_hoehe);
		$("div.spiel").css("width", doc_hoehe);
	}
	if (start == 0) {
		s1.reSet();
		s2.reSet();
	
		if (anzahlSpieler == 3) {
			s3.reSet();
		}

		if (anzahlSpieler == 4) {
			s3.reSet();
			s4.reSet();
		}
	}
}

$(window).resize(function() {
	spielfeldGroesse(0);
});

$(document).ready(function () {
	spielfeldGroesse(1);
	
	s1.create(farbeSpieler1, spieler1);
	s2.create(farbeSpieler2, spieler2);
	
	if (anzahlSpieler == 3) {
		s3.create(farbeSpieler3, spieler3);
	}

	if (anzahlSpieler == 4) {
		s3.create(farbeSpieler3, spieler3);
		s4.create(farbeSpieler4, spieler4);
	}
	$("#spieler").attr("src", eval("s1.image.src"));
	$("#chatbox").val("");
} 
);

